package com.ctsi.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ctsi.common.util.Search;
import com.ctsi.core.common.entity.LoginEmpInfo;
import com.ctsi.system.dto.EmpInfoReqDTO;
import com.ctsi.system.entity.Emp;
import com.ctsi.system.vo.EmpInfoResVO;

/**
 * <p>
 * 员工表 服务类
 * </p>
 *
 * @author wang xiao xiang
 */
public interface IEmpService extends IService<Emp> {

	/**
	 * 分页业务方法
	 *
	 * @param search 　搜索参数
	 * @return IPage
	 */
	IPage<Emp> listPage(Search search);

	/**
	 * 获取登录用户员工相关信息
	 *
	 * @param empId 员工ID
	 * @return 登录员工相关信息
	 */
	LoginEmpInfo getLoginEmpInfo(Long empId);

	/**
	 * 获取用户员工相关信息
	 *
	 * @param empId 员工id（用户id）
	 * @return 用户员工相关信息
	 */
	EmpInfoResVO getSysEmpInfo(Long empId);

	/**
	 * 设置员工信息
	 *
	 * @param empId      员工ID
	 * @param empInfoReq 员工信息
	 * @return boolean
	 */
	boolean setEmpInfo(Long empId, EmpInfoReqDTO empInfoReq);

	/**
	 * 根据用户信息获取组织机构信息
	 *
	 * @param userId 用户ID
	 * @return 组织机构ID
	 */
	Long getOrgId(Long userId);

}
